package com.cqemme.hardwareservice.po;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.ToString;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * @author 86156
 */
@ApiModel(value="设备表")
@ToString
@Accessors(chain = true)
public class DeviceInfoPo implements Serializable {
    /**
     * 主键
     */

    @ApiModelProperty(value="id主键")
    private Integer id;

    /**
     * 设备类型
     */

    @ApiModelProperty(value="type设备类型")
    private Integer type;

    /**
     * 设备名称
     */

    @ApiModelProperty(value="name设备名称",required=true)
    private String name;

    /**
     * 描述
     */

    @ApiModelProperty(value="description描述")
    private String description;

    /**
     * 经度
     */

    @ApiModelProperty(value="longitude经度")
    private Double longitude;

    /**
     * 纬度
     */

    @ApiModelProperty(value="latitude纬度")
    private Double latitude;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh", timezone = "GMT+8")

    @ApiModelProperty(value="createDate创建时间")
    private Date createDate;

    /**
     * 数据状态1=正常   0弃用  -1 删除
     */

    @ApiModelProperty(value="dataStatus数据状态1=正常   0弃用  -1 删除")
    private Integer dataStatus;

    /**
     * 学校组织代码
     */

    @ApiModelProperty(value="siOrgCode学校组织代码",required=true)
    private Integer siOrgCode;

    /**
     * 序列化实体信息Json  存不同的设备的相关信息
     */

    @ApiModelProperty(value="serializationInfo序列化实体信息Json  存不同的设备的相关信息")
    private String serializationInfo;



    @ApiModelProperty(value="deviceHeight 安装高度")
    private Double deviceHeight;


    @ApiModelProperty(value="deviceNumber 设备编号")
    private String deviceNumber;

    @ApiModelProperty(value="租户id--类似学校id")
    private Integer tenantId;

    @ApiModelProperty(value="第三方的设备id")
    private Integer deviceId;

    @ApiModelProperty(value="几何类型")
    private String geometry;


    @ApiModelProperty(value="坐标汇点")
    private String coordinates;

    @ApiModelProperty(value="安装位置")
    private String position;

    @ApiModelProperty(value="厂商")
    private String manufacturer;

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) {
        this.manufacturer = manufacturer;
    }

    private Double distance;

    public String getGeometry() {
        return geometry;
    }

    public String getCoordinates() {
        return coordinates;
    }

    public void setCoordinates(String coordinates) {
        this.coordinates = coordinates;
    }

    public void setGeometry(String geometry) {
        this.geometry = geometry;
    }

    public Double getDistance() {
        return distance;
    }

    public void setDistance(Double distance) {
        this.distance = distance;
    }

    public Integer getTenantId() {
        return tenantId;
    }

    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    public Integer getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(Integer deviceId) {
        this.deviceId = deviceId;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Double getLongitude() {
        return longitude;
    }

    public void setLongitude(Double longitude) {
        this.longitude = longitude;
    }

    public Double getLatitude() {
        return latitude;
    }

    public void setLatitude(Double latitude) {
        this.latitude = latitude;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getDataStatus() {
        return dataStatus;
    }

    public void setDataStatus(Integer dataStatus) {
        this.dataStatus = dataStatus;
    }

    public Integer getSiOrgCode() {
        return siOrgCode;
    }

    public void setSiOrgCode(Integer siOrgCode) {
        this.siOrgCode = siOrgCode;
    }

    public String getSerializationInfo() {
        return serializationInfo;
    }

    public void setSerializationInfo(String serializationInfo) {
        this.serializationInfo = serializationInfo;
    }

    public Double getDeviceHeight() {
        return deviceHeight;
    }

    public void setDeviceHeight(Double deviceHeight) {
        this.deviceHeight = deviceHeight;
    }

    public String getDeviceNumber() {
        return deviceNumber;
    }

    public void setDeviceNumber(String deviceNumber) {
        this.deviceNumber = deviceNumber;
    }

    private static final long serialVersionUID = 1L;
}